module VFX
{
    imports
    {
        Base,
    }

    craftRecipe MakeLemonadePitcher
    {
        timedAction = VFX.PitcherMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.DrinkMixLemonade] flags[ItemCount],
            item 1 [VFX.PlasticPitcher] flags[ItemCount] mode:destroy,
            -fluid 2.0 categories[Water] mode:mixture,
        }

        outputs
        {
            item 1 VFX.PlasticPitcher flags[ForceEmpty],
                + fluid 2.0 VFX_LemonadeDrink,
        }
    }

    craftRecipe MakePinkLemonadePitcher
    {
        timedAction = VFX.PitcherMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.DrinkMixPinkLemonade] flags[ItemCount],
            item 1 [VFX.PlasticPitcher] flags[ItemCount] mode:destroy,
            -fluid 2.0 categories[Water] mode:mixture,
        }

        outputs
        {
            item 1 VFX.PlasticPitcher flags[ForceEmpty],
                + fluid 2.0 VFX_PinkLemonadeDrink,
        }
    }

    craftRecipe MakeFruitPunchPitcher
    {
        timedAction = VFX.PitcherMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.DrinkMixFruitPunch] flags[ItemCount],
            item 1 [VFX.PlasticPitcher] flags[ItemCount] mode:destroy,
            -fluid 2.0 categories[Water] mode:mixture,
        }

        outputs
        {
            item 1 VFX.PlasticPitcher flags[ForceEmpty],
                + fluid 2.0 VFX_FruitPunchDrink,
        }
    }

    craftRecipe MakeCherryDrinkPitcher
    {
        timedAction = VFX.PitcherMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.DrinkMixCherry] flags[ItemCount],
            item 1 [VFX.PlasticPitcher] flags[ItemCount] mode:destroy,
            -fluid 2.0 categories[Water] mode:mixture,
        }

        outputs
        {
            item 1 VFX.PlasticPitcher flags[ForceEmpty],
                + fluid 2.0 VFX_CherryDrink,
        }
    }

    craftRecipe MakeGrapeDrinkPitcher
    {
        timedAction = VFX.PitcherMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.DrinkMixGrape] flags[ItemCount],
            item 1 [VFX.PlasticPitcher] flags[ItemCount] mode:destroy,
            -fluid 2.0 categories[Water] mode:mixture,
        }

        outputs
        {
            item 1 VFX.PlasticPitcher flags[ForceEmpty],
                + fluid 2.0 VFX_GrapeDrink,
        }
    }

    craftRecipe MakeSweetTeaPitcher
    {
        timedAction = VFX.PitcherMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.DrinkMixSweetTea] flags[ItemCount],
            item 1 [VFX.PlasticPitcher] flags[ItemCount] mode:destroy,
            -fluid 2.0 categories[Water] mode:mixture,
        }

        outputs
        {
            item 1 VFX.PlasticPitcher flags[ForceEmpty],
                + fluid 2.0 VFX_IcedTeaSweet,
        }
    }

    craftRecipe TakeTeaBagFromBox
    {
        timedAction = VFX.UnpackingSmall,
        Time = 10,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.BlackTeaBox;VFX.GreenTeaBox;VFX.BreakfastTeaBox;VFX.EarlGrayTeaBox;VFX.ChamomileTeaBox;VFX.PeppermintTeaBox;VFX.GingerTeaBox;VFX.LemonTeaBox] mappers[TeaType] flags[Prop2],
        }

        outputs
        {
            item 1 mapper:TeaType,
        }

        itemMapper TeaType
        {
            Base.Teabag2 = VFX.BlackTeaBox,
            VFX.GreenTeaBag = VFX.GreenTeaBox,
            VFX.BreakfastTeaBag = VFX.BreakfastTeaBox,
            VFX.EarlGrayTeaBag = VFX.EarlGrayTeaBox,
            VFX.ChamomileTeaBag = VFX.ChamomileTeaBox,
            VFX.PeppermintTeaBag = VFX.PeppermintTeaBox,
            VFX.GingerTeaBag = VFX.GingerTeaBox,
            VFX.LemonTeaBag = VFX.LemonTeaBox,
        }
    }

    craftRecipe MakeVanillaProteinShake
    {
        timedAction = VFX.ShakerMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.VanillaProteinPowder],
            item 1 [VFX.ProteinShaker] flags[ItemCount] mode:destroy,
            item 1 [*],
                -fluid 0.5 [Water],
        }

        outputs
        {
            item 1 VFX.ProteinShaker flags[ForceEmpty],
                + fluid 0.5 VFX_VanillaProteinShake,
        }
    }

    craftRecipe MakeChocolateProteinShake
    {
        timedAction = VFX.ShakerMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.ChocolateProteinPowder],
            item 1 [VFX.ProteinShaker] flags[ItemCount] mode:destroy,
            item 1 [*],
                -fluid 0.5 [Water],
        }

        outputs
        {
            item 1 VFX.ProteinShaker flags[ForceEmpty],
                + fluid 0.5 VFX_ChocolateProteinShake,
        }
    }

    craftRecipe MakeStrawberryProteinShake
    {
        timedAction = VFX.ShakerMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.StrawberryProteinPowder],
            item 1 [VFX.ProteinShaker] flags[ItemCount] mode:destroy,
            item 1 [*],
                -fluid 0.5 [Water],
        }

        outputs
        {
            item 1 VFX.ProteinShaker flags[ForceEmpty],
                + fluid 0.5 VFX_StrawberryProteinShake,
        }
    }

    craftRecipe MakeBananaProteinShake
    {
        timedAction = VFX.ShakerMaking,
        Time = 30,
        Tags = InHandCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [VFX.BananaProteinPowder] flags[ItemCount],
            item 1 [VFX.ProteinShaker] flags[ItemCount] mode:destroy,
            item 1 [*],
                -fluid 0.5 [Water],
        }

        outputs
        {
            item 1 VFX.ProteinShaker flags[ForceEmpty],
                + fluid 0.5 VFX_BananaProteinShake,
        }
    }

    craftRecipe OpenBottleOfWine
    {
        timedAction = UncorkBottle,
        Time = 30,
        OnCreate = RecipeCodeOnCreate.openBeer,
        AllowBatchCraft = False,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 tags[Corkscrew] mode:keep,
            item 1 [VFX.WineChardonnay;VFX.WineCabernetSauvignon;VFX.WineMerlot;VFX.WinePinotNoir;VFX.WineSauvignonBlanc;VFX.WinePinotGris;VFX.WineRiesling] mode:keep flags[DontPutBack;IsSealed;Prop2],
        }

        outputs
        {
            item 1 Base.Cork,
        }
    }

    craftRecipe OpenBottleOfBeer
    {
        timedAction = OpenBeerBottle,
        Time = 15,
        OnCreate = RecipeCodeOnCreate.openBeer,
        AllowBatchCraft = False,
        Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Cooking,

        inputs
        {
            item 1 [VFX.BottleAmericanLightLager;VFX.BottleAmericanLager;VFX.BottlePilsner;VFX.BottleViennaLager;VFX.BottlePaleAle;VFX.BottleAmberAle;VFX.BottlePorter;VFX.BottleStout;VFX.BottleAmericanWheatBeer] mode:keep flags[DontPutBack;IsSealed;Prop2],
        }

        outputs
        {
        }
    }

	craftRecipe OpenPackOfBeer
	{
        timedAction = VFX.SmallBagUnpacking,
		Time = 80,
		Tags = InHandCraft;Cooking;CanBeDoneInDark,
        category = Packing,
		inputs
		{
			item 1 [VFX.PackAmericanLightLager;VFX.PackAmericanLager;VFX.PackPilsner;VFX.PackViennaLager;VFX.PackPaleAle;VFX.PackAmberAle;VFX.PackPorter;VFX.PackStout;VFX.PackAmericanWheatBeer;VFX.PackCanAmericanLightLager;VFX.PackCanAmericanLager;VFX.PackCanPilsner;VFX.PackCanViennaLager;VFX.PackCanPaleAle;VFX.PackCanAmberAle;VFX.PackCanPorter;VFX.PackCanStout;VFX.PackCanAmericanWheatBeer] mappers[beerType] flags[AllowFavorite;InheritFavorite;Prop2],
		}

		outputs
		{
			item 6 mapper:beerType,
		}

		itemMapper beerType
		{
			VFX.BottleAmericanLightLager = VFX.PackAmericanLightLager,
            VFX.BottleAmericanLager = VFX.PackAmericanLager,
			VFX.BottlePilsner = VFX.PackPilsner,
			VFX.BottleViennaLager = VFX.PackViennaLager,
			VFX.BottlePaleAle = VFX.PackPaleAle,
			VFX.BottleAmberAle = VFX.PackAmberAle,
			VFX.BottlePorter = VFX.PackPorter,
			VFX.BottleStout = VFX.PackStout,
			VFX.BottleAmericanWheatBeer = VFX.PackAmericanWheatBeer,

            VFX.CanAmericanLightLager = VFX.PackCanAmericanLightLager,
			VFX.CanAmericanLager = VFX.PackCanAmericanLager,
			VFX.CanPilsner = VFX.PackCanPilsner,
			VFX.CanViennaLager = VFX.PackCanViennaLager,
			VFX.CanPaleAle = VFX.PackCanPaleAle,
			VFX.CanAmberAle = VFX.PackCanAmberAle,
			VFX.CanPorter = VFX.PackCanPorter,
			VFX.CanStout = VFX.PackCanStout,
			VFX.CanAmericanWheatBeer = VFX.PackCanAmericanWheatBeer,
		}
	}

}